package com.ph.shopping.facade.member.service;

import java.util.List;

import com.ph.shopping.common.util.result.Result;
import com.ph.shopping.facade.member.dto.IcCradindInfoDto;
import com.ph.shopping.facade.member.dto.MemberIcCardInfoPageDto;
import com.ph.shopping.facade.member.dto.UnbundMemberCardDto;
import com.ph.shopping.facade.member.entity.IcCardInfo;

/**
 * 
* @ClassName: IMemberCardService  
* @Description: 会员卡服务  
* @author lijie  
* @date 2017年3月16日  
*
 */
public interface IMemberCardService {

	/**
	 * 
	* @Title: addMemberCard  
	* @Description: 添加会员卡  
	* @param @param icInfo
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result addMemberCard(IcCardInfo icInfo);
	/**
	 * 
	* @Title: bindMemberCard  
	* @Description: 绑定会员卡  
	* @param @param cardBingInfo
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result bindMemberCard(IcCradindInfoDto dto);
	
	/**
	 * 
	* @Title: cancelMemberCard  
	* @Description: 挂失会员卡  
	* @param @param dto
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result cancelMemberCard(UnbundMemberCardDto dto);
	/**
	 * 
	* @Title: FrozenMemberCard  
	* @Description: 会员卡冻结 
	* @param @param dto
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result frozenMemberCard(UnbundMemberCardDto dto);
	/**
	 * 
	* @Title: getMemberCardByPage  
	* @Description: TODO(这里用一句话描述这个方法的作用)  
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result getMemberBindCardByPage(MemberIcCardInfoPageDto dto);
	/**
	 * 
	* @Title: getMemberIcCardInfoByPhone  
	* @Description: 根据手机号获取会员信息  
	* @param @param Phone
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result getMemberIcCardInfoByPhone(String Phone);
	/**
	 * 
	* @Title: getMemberBindCardByPageAndAll  
	* @Description: 查询所有的会员卡数据列表 
	* @param @param dto
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result getMemberBindCardByPageAndAll(MemberIcCardInfoPageDto dto);
	/**
	 * 
	* @Title: getMemberCardByPage  
	* @Description: 获取会员卡数据  
	* @param @param dto
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result getMemberCardByPage(MemberIcCardInfoPageDto dto);
	/**
	 * 
	* @Title: relieveMemberCard  
	* @Description: 解冻会员卡  
	* @param @param dto
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result relieveMemberCard(UnbundMemberCardDto dto);
	/**
	 * 
	* @Title: batchAddMemberCard  
	* @Description:批量新增会员卡数据 
	* @param @param list
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result batchAddMemberCard(List<IcCardInfo> list);
	/**
	 * 
	* @Title: getMemberCardInfoByCode  
	* @Description: 根据卡号查询 查询会员信息
	* @param @param dto
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result getMemberCardInfoByCode(IcCradindInfoDto dto);
	/**
	 * 
	* @Title: getMemberCardInfoByInnerCode  
	* @Description: 根据内码获取会员卡信息
	* @param @param innerCode
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result getMemberCardInfoByInnerCode(String innerCode);
	/**
	 * 
	* @Title: getMemberCardInfoByOuterCode  
	* @Description: 根据外码获取会员卡信息  
	* @param @param outerCode
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result getMemberCardInfoByOuterCode(String outerCode);
}
